package com.joysuch.wwyt.workflow.bean;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;

/**
 * @Author ZhangDong
 * @Date 2020/11/4 17:49
 */
@Data
public class WorkFlowScreenConfigBean implements Serializable {

    @ApiModelProperty("主键ID")
    private Long id;
    @ApiModelProperty("流程节点ID")
    @NotNull(message = "processId 不能为空")
    private Long processId;
    @ApiModelProperty("专栏类型id")
    @NotEmpty(message = "请选择专栏类型")
    private Long typeId;
    @ApiModelProperty("专栏类型名称")
    private String typeName;
    @ApiModelProperty("显示顺序")
    private Integer showOrder;
    @ApiModelProperty("启用统计")
    private boolean openStatics;
    @ApiModelProperty("统计数据--预留功能字段")
    //@NotEmpty(message = "统计数据不能为空")
    private String staticsData;
    @ApiModelProperty("列表字段")
    @NotEmpty(message = "列表字段不能为空")
    private String tableColumn;
    @ApiModelProperty("列表查询")
    @NotEmpty(message = "列表查询不能为空")
    private String tableQuery;
    @ApiModelProperty("列表分类")
    @NotEmpty(message = "列表分类不能为空")
    private String tableClassify;
    @ApiModelProperty("详情字段")
    @NotEmpty(message = "详情字段不能为空")
    private String detailColumn;
    @ApiModelProperty("地图小窗")
    private boolean mapWindow;
    @ApiModelProperty("小窗名称")
    private String windowName;
    @ApiModelProperty("小窗字段")
    private String windowColumn;

    @Data
    public static class DetailColumn{
        private String label;
        private String type;
        private String key;
        private List<SelectArr> selectArr;
    }
    @Data
    public static class SelectArr{
        private String key;
        private String label;
        private String type;
        private String accessType;
        private String startTime;
        private String endTime;
        private String fatherLabel;
    }
}
